先说漏洞
edit函数中存在下标溢出,刚好能覆盖到chunk[0]
1 | int edit() |
再说一下限制
1、禁用了hook函数
1 | void (*sub_1269())(void *ptr, const void *) |
2、没有show函数可以泄漏地址
攻击思路
free 4个chunk到tcachebin中,然后编辑 iex=17处进行局部爆破,使其两个指针指向chunk0
构造出double free后就可实现任意地址写
爆破IO泄漏libc地址
之后攻击 stdin 结构体,通过exit(0)触发进行ORW攻击
1 | #coding:utf-8 |